﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

/// <summary>
/// Summary description for HistorialMovimientoBLL
/// </summary>
public class HistorialMovimientoBLL
{
	public HistorialMovimientoBLL()
	{
		//
		// TODO: Add constructor logic here
		//
	}

    public static HistorialMovimiento rowToDto(dsHistorialMovimiento.HistorialMovimientoDSRow HistorialMovimientoRow)
    {

        HistorialMovimiento objHistorialMovimiento = new HistorialMovimiento();
        objHistorialMovimiento.IHistorial_id = HistorialMovimientoRow.iHistorial_id;
        objHistorialMovimiento.IActivoFijo_id = HistorialMovimientoRow.iActivoFijo_id;
        objHistorialMovimiento.IEncargadoAnterior = HistorialMovimientoRow.iEncargadoAnterior;
        objHistorialMovimiento.IEncargadoNuevo = HistorialMovimientoRow.iEncargadoNuevo;
        objHistorialMovimiento.CReadoPor = HistorialMovimientoRow.CreadoPor;
        objHistorialMovimiento.AUtorizadoPor = HistorialMovimientoRow.AutorizadoPor;
        objHistorialMovimiento.SLocalizacionAnterior = HistorialMovimientoRow.sLocalizacionAnterior;
        objHistorialMovimiento.SLocalizacionNueva = HistorialMovimientoRow.sLocalizacionNueva;

        return objHistorialMovimiento;
    }
    public static List<HistorialMovimiento> GetAll()
    {
        List<HistorialMovimiento> ListaDeHistorialMovimiento = new List<HistorialMovimiento>();
        try
        {



            dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter HistorialMovimientoAdapter
                = new dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter();
            dsHistorialMovimiento.HistorialMovimientoDSDataTable HistorialMovimientoDataTable = HistorialMovimientoAdapter.GetAll_HistorialMovimiento();

            foreach (dsHistorialMovimiento.HistorialMovimientoDSRow row in HistorialMovimientoDataTable)
            {
                HistorialMovimiento objHistorialMovimiento = rowToDto(row);
                ListaDeHistorialMovimiento.Add(objHistorialMovimiento);
            }
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return ListaDeHistorialMovimiento;
    }
    public static HistorialMovimiento GetByPK(int pk)
    {

        try
        {

            dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter HistorialMovimientoAdapter
                = new dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter();
            dsHistorialMovimiento.HistorialMovimientoDSDataTable HistorialMovimientoDataTable
                = HistorialMovimientoAdapter.GetByPk_HistorialMovmiento(pk);

            HistorialMovimiento objHistorialMovimiento = rowToDto(HistorialMovimientoDataTable[0]);
            return objHistorialMovimiento;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return null;
    }

    public static int InsertarHistorialMovimiento(int iActivoFijo_id, int iEncargadoAnterior, int iEncargadoNuevo, int CreadoPor, int AutorizadoPor, string sLocalizacionAnterior,string sLocalizacionNueva)
    {

        try
        {

            dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter HistorialMovimientoAdapter
                = new dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter();


            int? nuevaPK = 0;

            HistorialMovimientoAdapter.Insertar_HistorialMovimiento(iActivoFijo_id, iEncargadoAnterior,iEncargadoNuevo, CreadoPor, AutorizadoPor, sLocalizacionAnterior,sLocalizacionNueva, ref nuevaPK);

            return (int)nuevaPK;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return 0;
    }

    public static bool ModificarHistorialMovimiento(int pk, int iActivoFijo_id, int iEncargadoAnterior, int iEncargadoNuevo, int CreadoPor, int AutorizadoPor, string sLocalizacionAnterior, string sLocalizacionNueva)
    {

        try
        {

            dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter HistorialMovimientoAdapter
                = new dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter();

            HistorialMovimientoAdapter.Modificar_HistorialMovimiento(pk, iActivoFijo_id, iEncargadoAnterior, iEncargadoNuevo, CreadoPor, AutorizadoPor, sLocalizacionAnterior, sLocalizacionNueva);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }

    public static bool EliminarHistorialMovimiento(int pk)
    {

        try
        {

            dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter HistorialMovimientoAdapter
                = new dsHistorialMovimientoTableAdapters.HistorialMovimientoDSTableAdapter();

            HistorialMovimientoAdapter.Eliminar_HistorialMovimiento(pk);


            return true;
        }
        catch (Exception ex)
        {

            //Manejar Excepcion
        }
        return false;
    }
}